<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
                      "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
<head>
    <meta http-equiv="content-type" content="text/html; charset=UTF-8"/>
    <title>Introduction - Zend Framework Manual</title>

    <link href="../css/shCore.css" rel="stylesheet" type="text/css" />
    <link href="../css/shThemeDefault.css" rel="stylesheet" type="text/css" />
    <link href="../css/styles.css" media="all" rel="stylesheet" type="text/css" />
</head>
<body>
<h1>Zend Framework</h1>
<h2>Programmer's Reference Guide</h2>
<ul>
    <li><a href="../en/zend.tool.framework.introduction.html">Inglês (English)</a></li>
    <li><a href="../pt-br/zend.tool.framework.introduction.html">Português Brasileiro (Brazilian Portuguese)</a></li>
</ul>
<table width="100%">
    <tr valign="top">
        <td width="85%">
            <table width="100%">
                <tr>
                    <td width="25%" style="text-align: left;">
                    <a href="zend.tool.framework.html">Zend_Tool_Framework</a>
                    </td>

                    <td width="50%" style="text-align: center;">
                        <div class="up"><span class="up"><a href="zend.tool.framework.html">Zend_Tool_Framework</a></span><br />
                        <span class="home"><a href="manual.html">Programmer's Reference Guide</a></span></div>
                    </td>

                    <td width="25%" style="text-align: right;">
                        <div class="next" style="text-align: right; float: right;"><a href="zend.tool.framework.clitool.html">Using the CLI Tool</a></div>
                    </td>
                </tr>
            </table>
<hr />
<div id="zend.tool.framework.introduction" class="section"><div class="info"><h1 class="title">Introduction</h1></div>
    

    <p class="para">
        <span class="classname">Zend_Tool_Framework</span> is a framework for exposing common
        functionalities such as the creation of project scaffolds, code
        generation, search index generation, and much more. Functionality may be
        written and exposed via <acronym class="acronym">PHP</acronym> classes dropped into the
        <acronym class="acronym">PHP</acronym> <span class="property">include_path</span>, providing incredible
        flexibility of implementation. The functionality may then be consumed by writing
        implementation and/or protocol-specific clients -- such as console
        clients, <acronym class="acronym">XML-RPC</acronym>, <acronym class="acronym">SOAP</acronym>, and much more.
    </p>

    <p class="para">
        <span class="classname">Zend_Tool_Framework</span> provides the following:
    </p>

    <ul class="itemizedlist">
        <li class="listitem">
            <p class="para">
                <em class="emphasis">Common interfaces and abstracts</em> that allow
                developers to create functionality and capabilities that are
                dispatchable by tooling clients.
            </p>
        </li>

        <li class="listitem">
            <p class="para">
                <em class="emphasis">Base client functionality</em> and a concrete
                console implementation that connect external tools and
                interfaces to the <span class="classname">Zend_Tool_Framework</span>. The Console
                client may be used in <acronym class="acronym">CLI</acronym> environments such as unix shells and
                the Windows console.
            </p>
        </li>

        <li class="listitem">
            <p class="para">
                <em class="emphasis">&quot;Provider&quot; and &quot;Manifest&quot; interfaces</em> that
                can be utilized by the tooling system. &quot;Providers&quot; represent the
                functional aspect of the framework, and define the actions that
                tooling clients may call. &quot;Manifests&quot; act as metadata registries
                that provide additional context for the various defined
                providers.
            </p>
        </li>

        <li class="listitem">
            <p class="para">
                <em class="emphasis">An introspective loading system</em> that will
                scan the environment for providers and determine what is
                required to dispatch them.
            </p>
        </li>

        <li class="listitem">
            <p class="para">
                <em class="emphasis">A standard set of system providers</em> that
                allow the system to report what the full capabilities of the
                system are as well as provide useful feedback. This also
                includes a comprehensive &quot;Help System&quot;.
            </p>
        </li>
    </ul>

    <p class="para">
        Definitions that you should be aware of through this manual with respect
        to <span class="classname">Zend_Tool_Framework</span> include:
    </p>

    <ul class="itemizedlist">
        <li class="listitem">
            <p class="para">
                <span class="classname">Zend_Tool_Framework</span> - The framework which exposes
                tooling capabilities.
            </p>
        </li>

        <li class="listitem">
            <p class="para">
                <em class="emphasis">Tooling Client</em> - A developer tool that connects
                to and consumes <span class="classname">Zend_Tool_Framework</span>.
            </p>
        </li>

        <li class="listitem">
            <p class="para">
                <em class="emphasis">Client</em> - The subsystem of
                <span class="classname">Zend_Tool_Framework</span> that exposes an interface such that
                tooling clients can connect, query and execute commands.
            </p>
        </li>

        <li class="listitem">
            <p class="para">
                <em class="emphasis">Console Client / Command Line Interface /
                <var class="filename">zf.php</var></em> - The tooling client for the command line.
            </p>
        </li>

        <li class="listitem">
            <p class="para">
                <em class="emphasis">Provider</em> - A subsystem and a collection of
                built-in functionality that the framework exports.
            </p>
        </li>

        <li class="listitem">
            <p class="para">
                <em class="emphasis">Manifest</em> - A subsystem for defining,
                organizing, and disseminating provider requirement data.
            </p>
        </li>

        <li class="listitem">
            <p class="para">
                <span class="classname">Zend_Tool_Project</span> Provider - A set of providers
                specifically for creating and maintaining Zend Framework-based projects.
            </p>
        </li>
    </ul>
</div>
        <hr />

            <table width="100%">
                <tr>
                    <td width="25%" style="text-align: left;">
                    <a href="zend.tool.framework.html">Zend_Tool_Framework</a>
                    </td>

                    <td width="50%" style="text-align: center;">
                        <div class="up"><span class="up"><a href="zend.tool.framework.html">Zend_Tool_Framework</a></span><br />
                        <span class="home"><a href="manual.html">Programmer's Reference Guide</a></span></div>
                    </td>

                    <td width="25%" style="text-align: right;">
                        <div class="next" style="text-align: right; float: right;"><a href="zend.tool.framework.clitool.html">Using the CLI Tool</a></div>
                    </td>
                </tr>
            </table>
</td>
        <td style="font-size: smaller;" width="15%"> <style type="text/css">
#leftbar {
	float: left;
	width: 186px;
	padding: 5px;
	font-size: smaller;
}
ul.toc {
	margin: 0px 5px 5px 5px;
	padding: 0px;
}
ul.toc li {
	font-size: 85%;
	margin: 1px 0 1px 1px;
	padding: 1px 0 1px 11px;
	list-style-type: none;
	background-repeat: no-repeat;
	background-position: center left;
}
ul.toc li.header {
	font-size: 115%;
	padding: 5px 0px 5px 11px;
	border-bottom: 1px solid #cccccc;
	margin-bottom: 5px;
}
ul.toc li.active {
	font-weight: bold;
}
ul.toc li a {
	text-decoration: none;
}
ul.toc li a:hover {
	text-decoration: underline;
}
</style>
 <ul class="toc">
  <li class="header home"><a href="manual.html">Programmer's Reference Guide</a></li>
  <li class="header up"><a href="manual.html">Programmer's Reference Guide</a></li>
  <li class="header up"><a href="reference.html">Zend Framework Reference</a></li>
  <li class="header up"><a href="zend.tool.framework.html">Zend_Tool_Framework</a></li>
  <li class="active"><a href="zend.tool.framework.introduction.html">Introduction</a></li>
  <li><a href="zend.tool.framework.clitool.html">Using the CLI Tool</a></li>
  <li><a href="zend.tool.framework.architecture.html">Architecture</a></li>
  <li><a href="zend.tool.framework.writing-providers.html">Creating Providers to use with Zend_Tool_Framework</a></li>
  <li><a href="zend.tool.framework.system-providers.html">Shipped System Providers</a></li>
  <li><a href="zend.tool.framework.extending.html">Extending and Configuring Zend_Tool_Framework</a></li>
 </ul>
 </td>
    </tr>
</table>

<script type="text/javascript" src="../js/shCore.js"></script>
<script type="text/javascript" src="../js/shAutoloader.js"></script>
<script type="text/javascript" src="../js/main.js"></script>

</body>
</html>